/* ========== 全局字体和背景 ========== */
body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    background-color: #f8f9fa;
    color: #212529;
    line-height: 1.6;
}

/* ========== 标题 ========== */
h1 {
    font-size: 2.5rem;
    font-weight: 700;
    color: #003366;
}

h2 {
    font-size: 2rem;
    font-weight: 600;
    color: #003366;
    border-bottom: 2px solid #003366;
    padding-bottom: 0.3rem;
    margin-bottom: 1.5rem;
}

/* ========== 作者信息 ========== */
p a {
    color: #003366;
    text-decoration: none;
}

p a:hover {
    text-decoration: underline;
}

/* ========== 容器和段落间距 ========== */
.container {
    padding-left: 15px;
    padding-right: 15px;
}

.my-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
}

.mt-5 {
    margin-top: 3rem !important;
}

.mb-4 {
    margin-bottom: 1.5rem !important;
}

/* ========== 列表样式 ========== */
ul {
    padding-left: 1.2rem;
}

ul li {
    margin-bottom: 0.8rem;
}

/* 嵌套列表 */
ul ul {
    list-style-type: circle;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}

/* ========== 表格样式 ========== */
table {
    border-collapse: collapse;
    margin-bottom: 2rem;
}

table th, table td {
    border: 1px solid #dee2e6;
    padding: 0.5rem;
    text-align: center;
    vertical-align: middle;
    font-size: 0.95rem;
}

table th {
    background-color: #e9ecef;
    font-weight: 600;
    color: #003366;
}

table tbody tr:nth-child(odd) {
    background-color: #ffffff;
}

table tbody tr:nth-child(even) {
    background-color: #f1f3f5;
}

/* ========== 音频播放按钮 ========== */
.btn-outline-dark {
    border-width: 2px;
    font-weight: 500;
}

.btn-outline-dark:hover {
    background-color: #003366;
    color: #ffffff;
    border-color: #003366;
}

.btn-primary {
    background-color: #003366;
    border-color: #003366;
}

.btn-primary:hover {
    background-color: #002244;
    border-color: #002244;
}

.btn-secondary {
    background-color: #6c757d;
    border-color: #6c757d;
}

.btn-secondary:hover {
    background-color: #5a6268;
    border-color: #545b62;
}

/* ========== 自适应最大宽度 ========== */
.text-wrap {
    max-width: 1000px;
    margin: auto;
}

/* ========== 响应式表格滚动 ========== */
.table-responsive {
    overflow-x: auto;
}

/* ========== 链接按钮间距 ========== */
.m-3 a {
    margin-right: 0.5rem;
}

/* ========== 小屏幕优化 ========== */
@media (max-width: 768px) {
    h1 {
        font-size: 2rem;
    }

    h2 {
        font-size: 1.5rem;
    }

    table th, table td {
        font-size: 0.85rem;
        padding: 0.3rem;
    }
}
